package models

import "time"

// 收藏类型常量
const (
	FavoriteTypeProduct = "product" // 商品
	FavoriteTypeArticle = "article" // 文章
	FavoriteTypeVideo   = "video"   // 视频
)

// 收藏状态常量
const (
	FavoriteStatusNormal   = 1 // 正常
	FavoriteStatusDisabled = 2 // 已取消
)

// UserFavorite 用户收藏表
type UserFavorite struct {
	Id         int64     `json:"id" xorm:"pk autoincr"`
	UserId     int64     `json:"user_id" xorm:"not null comment('用户ID') index"`
	Type       string    `json:"type" xorm:"varchar(20) not null comment('收藏类型')"`
	TargetId   int64     `json:"target_id" xorm:"not null comment('收藏对象ID') index"`
	Title      string    `json:"title" xorm:"varchar(255) not null comment('收藏对象标题')"`
	Cover      string    `json:"cover" xorm:"varchar(255) not null default '' comment('封面图片')"`
	Remark     string    `json:"remark" xorm:"varchar(255) not null default '' comment('备注')"`
	Status     int       `json:"status" xorm:"tinyint(1) not null default 1 comment('状态：1正常 2已取消')"`
	UpdateTime time.Time `json:"update_time" xorm:"not null updated comment('更新时间')"`
	CreateTime time.Time `json:"create_time" xorm:"not null created comment('创建时间')"`
}

// TableName 表名
func (UserFavorite) TableName() string {
	return "user_favorite"
}
